// 封装通用的接口调用模块
import axios from 'axios'

// 基准地址：
const baseURL = process.env.VUE_APP_BASE_API

const instance = axios.create({
  baseURL: baseURL
})
// 响应拦截器
instance.interceptors.response.use(function(response) {
  // 对响应数据做点什么
  return response.data
}, function(error) {
  // 对响应错误做点什么
  return Promise.reject(error)
})
export default (options) => {
  let key = null
  if (options.method) {
    // method属性是纯在的
    key = options.method === 'get' ? 'params' : 'data'
  } else {
    // method属性不纯在
    key = 'params'
  }
  return instance({
    method: options.method || 'get',
    url: options.url,
    // data用于传递除get之外的所有请求方式的数据：post/put/dalete

    // params仅仅处理get请求参数

    // ES6的规则：对象的键key可以是动态的
    [key]: options.data
  })
}
